<?php 

/**
 * 
 * @author Francesc Sans fsans@ntwk.es
 * @version 1.0.1
 * 
 * Copyright (c) 2009 Network BCN Software
 *
	This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 **/

class Factory { 
	
	public static function create($className, $params = NULL) { 
	
		if(class_exists($className)) { 
			if($params == NULL)		
				return new $className(); 
			else { 
				$obj = new ReflectionClass($className); 
				return $obj->newInstanceArgs($params); 
			}	  
		} 
		 
		throw new Exception("Class [ $className ] not found..."); 
	} 


	public static function autoload($className, $classpath) { 
		
		if(file_exists($file = $classpath . "/" . $className . ".php")) {
			require_once $file; 
			return true;
		}else{ 
			throw new Exception("File [" . $classpath . "/" . $className . ".php ] not found...");
			return false;
		}
	}
	 
} 


?>